package com.juzi.anli;

import java.util.Random;
import java.util.Scanner;

public class 猜数字 {
    public static void main(String[] args) {
        //需求：5个 1-20 之间的随机数，让用户猜测，猜中提示猜中，还要输出该数据在数组中第一次出现的索引，并打印数组的内容出来
        //没有猜中继续

        //1、定义一个动态初始化的数组存储5个随机的 1-20 之间的数据
        int[] data = new int[5];

        //2、动态的生成5个1-20之间的随机数 并存到数组中去
        Random r = new Random();
        for (int i = 0; i < data.length; i++) {
            //i = 0 1 2 3 4
            data[i] = r.nextInt(20) + 1;
        }

        //3、使用一个死循环 让用户猜测
        Scanner sc = new Scanner(System.in);
        OUT:
        while (true){
            System.out.println("请您输入1-20之间的整数进行猜测");
            int guessData = sc.nextInt();

            //4、遍历数组的每个元素，是否相同，相同表示猜中，给出提示
            for (int i = 0; i < data.length; i++) {
                if(data[i] == guessData){
                    System.out.println("您已猜中，您猜中的数据索引是:" + i);
                    break OUT;//结束整个循环，游戏结束
                }
            }
            System.out.println("您当前猜测的数据不正确，请继续  ");
        }

        //5、输出数组的全部元素，让用户看到自己确实猜中了某个数
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + "\t");
        }
    }

}
